using System;
using System.Collections.Generic;
using System.Text;
using THSLib;
using THSERP.BaseProvider;

namespace THSERP.Modules.TaxDec
{
    public class TaxDecItemsEntity : ERPModuleItemsEntity
    {
        #region Variables
        protected int _aRTaxDeclarationItemID;
        protected String _aAStatus = DefaultAAStatus;
        protected int _fK_ARTaxDeclarationID;
        protected int _fK_ICDepartmentID;
        protected int _fK_ICProductGroupID;
        protected int _fK_ICProductID;
        protected int _fK_ICProductAttributeID;
        protected int _fK_ICStockID;
        protected int _fK_ICStockSlotID;
        protected String _aRTaxDeclarationItemProductType = String.Empty;
        protected String _aRTaxDeclarationItemProductSerialNo = String.Empty;
        protected String _aRTaxDeclarationItemProductAttribute = String.Empty;
        protected int _aRTaxDeclarationItemSortOrder;
        protected String _aRTaxDeclarationItemProductName = String.Empty;
        protected String _aRTaxDeclarationItemProductDesc = String.Empty;
        protected String _aRTaxDeclarationItemProductSellUnit = String.Empty;
        protected String _aRTaxDeclarationItemProductBasicUnit = String.Empty;
        protected String _aRTaxDeclarationItemProductPackagingUnit = String.Empty;
        protected double _aRTaxDeclarationItemProductSellFactor;
        protected double _aRTaxDeclarationItemProductPackagingFactor;
        protected double _aRTaxDeclarationItemProductUnitPrice;
        protected double _aRTaxDeclarationItemProductInternalUnitPrice;
        protected double _aRTaxDeclarationItemProductUnitCost;
        protected double _aRTaxDeclarationItemProductGroupDiscount;
        protected double _aRTaxDeclarationItemProductDiscount;
        protected double _aRTaxDeclarationItemProductTaxPercent;
        protected double _aRTaxDeclarationItemProductQtyOld;
        protected double _aRTaxDeclarationItemProductQty;
        protected double _aRTaxDeclarationItemProductBasicQty;
        protected double _aRTaxDeclarationItemProductPakagingQty;
        protected double _aRTaxDeclarationItemQty1;
        protected double _aRTaxDeclarationItemQty2;
        protected double _aRTaxDeclarationItemQty3;
        protected double _aRTaxDeclarationItemQty4;
        protected double _aRTaxDeclarationItemQty5;
        protected double _aRTaxDeclarationItemQty6;
        protected double _aRTaxDeclarationItemPrice;
        protected double _aRTaxDeclarationItemInternalPrice;
        protected String _aRTaxDeclarationItemComment = String.Empty;
        protected double _aRTaxDeclarationItemUnitVolumn;
        protected double _aRTaxDeclarationItemUnitWeight;
        protected double _aRTaxDeclarationItemTaxAmount;
        protected double _aRTaxDeclarationItemDiscountAmount;
        protected double _aRTaxDeclarationItemNetAmount;
        protected double _aRTaxDeclarationItemTotalAmount;
        protected double _aRTaxDeclarationItemTotalCost;

        //Extra variables_HieuNH_16/05/2010
        protected String _aRTaxDeclarationItemSupplierName = String.Empty;
        protected String _bBBRanchName = String.Empty;
        #endregion

        #region Public properties
        public int ARTaxDeclarationItemID
        {
            get { return _aRTaxDeclarationItemID; }
            set
            {
                if (value != this._aRTaxDeclarationItemID)
                {
                    _aRTaxDeclarationItemID = value;
                    NotifyChanged("ARTaxDeclarationItemID");
                }
            }
        }
        public String AAStatus
        {
            get { return _aAStatus; }
            set
            {
                if (value != this._aAStatus)
                {
                    _aAStatus = value;
                    NotifyChanged("AAStatus");
                }
            }
        }
        public int FK_ARTaxDeclarationID
        {
            get { return _fK_ARTaxDeclarationID; }
            set
            {
                if (value != this._fK_ARTaxDeclarationID)
                {
                    _fK_ARTaxDeclarationID = value;
                    NotifyChanged("FK_ARTaxDeclarationID");
                }
            }
        }
        public int FK_ICDepartmentID
        {
            get { return _fK_ICDepartmentID; }
            set
            {
                if (value != this._fK_ICDepartmentID)
                {
                    _fK_ICDepartmentID = value;
                    NotifyChanged("FK_ICDepartmentID");
                }
            }
        }
        public int FK_ICProductGroupID
        {
            get { return _fK_ICProductGroupID; }
            set
            {
                if (value != this._fK_ICProductGroupID)
                {
                    _fK_ICProductGroupID = value;
                    NotifyChanged("FK_ICProductGroupID");
                }
            }
        }
        public int FK_ICProductID
        {
            get { return _fK_ICProductID; }
            set
            {
                if (value != this._fK_ICProductID)
                {
                    _fK_ICProductID = value;
                    NotifyChanged("FK_ICProductID");
                }
            }
        }
        public int FK_ICProductAttributeID
        {
            get { return _fK_ICProductAttributeID; }
            set
            {
                if (value != this._fK_ICProductAttributeID)
                {
                    _fK_ICProductAttributeID = value;
                    NotifyChanged("FK_ICProductAttributeID");
                }
            }
        }
        public int FK_ICStockID
        {
            get { return _fK_ICStockID; }
            set
            {
                if (value != this._fK_ICStockID)
                {
                    _fK_ICStockID = value;
                    NotifyChanged("FK_ICStockID");
                }
            }
        }
        public int FK_ICStockSlotID
        {
            get { return _fK_ICStockSlotID; }
            set
            {
                if (value != this._fK_ICStockSlotID)
                {
                    _fK_ICStockSlotID = value;
                    NotifyChanged("FK_ICStockSlotID");
                }
            }
        }
        public String ARTaxDeclarationItemProductType
        {
            get { return _aRTaxDeclarationItemProductType; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductType)
                {
                    _aRTaxDeclarationItemProductType = value;
                    NotifyChanged("ARTaxDeclarationItemProductType");
                }
            }
        }
        public String ARTaxDeclarationItemProductSerialNo
        {
            get { return _aRTaxDeclarationItemProductSerialNo; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductSerialNo)
                {
                    _aRTaxDeclarationItemProductSerialNo = value;
                    NotifyChanged("ARTaxDeclarationItemProductSerialNo");
                }
            }
        }
        public String ARTaxDeclarationItemProductAttribute
        {
            get { return _aRTaxDeclarationItemProductAttribute; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductAttribute)
                {
                    _aRTaxDeclarationItemProductAttribute = value;
                    NotifyChanged("ARTaxDeclarationItemProductAttribute");
                }
            }
        }
        public int ARTaxDeclarationItemSortOrder
        {
            get { return _aRTaxDeclarationItemSortOrder; }
            set
            {
                if (value != this._aRTaxDeclarationItemSortOrder)
                {
                    _aRTaxDeclarationItemSortOrder = value;
                    NotifyChanged("ARTaxDeclarationItemSortOrder");
                }
            }
        }
        public String ARTaxDeclarationItemProductName
        {
            get { return _aRTaxDeclarationItemProductName; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductName)
                {
                    _aRTaxDeclarationItemProductName = value;
                    NotifyChanged("ARTaxDeclarationItemProductName");
                }
            }
        }
        public String ARTaxDeclarationItemProductDesc
        {
            get { return _aRTaxDeclarationItemProductDesc; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductDesc)
                {
                    _aRTaxDeclarationItemProductDesc = value;
                    NotifyChanged("ARTaxDeclarationItemProductDesc");
                }
            }
        }
        public String ARTaxDeclarationItemProductSellUnit
        {
            get { return _aRTaxDeclarationItemProductSellUnit; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductSellUnit)
                {
                    _aRTaxDeclarationItemProductSellUnit = value;
                    NotifyChanged("ARTaxDeclarationItemProductSellUnit");
                }
            }
        }
        public String ARTaxDeclarationItemProductBasicUnit
        {
            get { return _aRTaxDeclarationItemProductBasicUnit; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductBasicUnit)
                {
                    _aRTaxDeclarationItemProductBasicUnit = value;
                    NotifyChanged("ARTaxDeclarationItemProductBasicUnit");
                }
            }
        }
        public String ARTaxDeclarationItemProductPackagingUnit
        {
            get { return _aRTaxDeclarationItemProductPackagingUnit; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductPackagingUnit)
                {
                    _aRTaxDeclarationItemProductPackagingUnit = value;
                    NotifyChanged("ARTaxDeclarationItemProductPackagingUnit");
                }
            }
        }
        public double ARTaxDeclarationItemProductSellFactor
        {
            get { return _aRTaxDeclarationItemProductSellFactor; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductSellFactor)
                {
                    _aRTaxDeclarationItemProductSellFactor = value;
                    NotifyChanged("ARTaxDeclarationItemProductSellFactor");
                }
            }
        }
        public double ARTaxDeclarationItemProductPackagingFactor
        {
            get { return _aRTaxDeclarationItemProductPackagingFactor; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductPackagingFactor)
                {
                    _aRTaxDeclarationItemProductPackagingFactor = value;
                    NotifyChanged("ARTaxDeclarationItemProductPackagingFactor");
                }
            }
        }
        public double ARTaxDeclarationItemProductUnitPrice
        {
            get { return _aRTaxDeclarationItemProductUnitPrice; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductUnitPrice)
                {
                    _aRTaxDeclarationItemProductUnitPrice = value;
                    NotifyChanged("ARTaxDeclarationItemProductUnitPrice");
                }
            }
        }
        public double ARTaxDeclarationItemProductInternalUnitPrice
        {
            get { return _aRTaxDeclarationItemProductInternalUnitPrice; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductInternalUnitPrice)
                {
                    _aRTaxDeclarationItemProductInternalUnitPrice = value;
                    NotifyChanged("ARTaxDeclarationItemProductInternalUnitPrice");
                }
            }
        }
        public double ARTaxDeclarationItemProductUnitCost
        {
            get { return _aRTaxDeclarationItemProductUnitCost; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductUnitCost)
                {
                    _aRTaxDeclarationItemProductUnitCost = value;
                    NotifyChanged("ARTaxDeclarationItemProductUnitCost");
                }
            }
        }
        public double ARTaxDeclarationItemProductGroupDiscount
        {
            get { return _aRTaxDeclarationItemProductGroupDiscount; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductGroupDiscount)
                {
                    _aRTaxDeclarationItemProductGroupDiscount = value;
                    NotifyChanged("ARTaxDeclarationItemProductGroupDiscount");
                }
            }
        }
        public double ARTaxDeclarationItemProductDiscount
        {
            get { return _aRTaxDeclarationItemProductDiscount; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductDiscount)
                {
                    _aRTaxDeclarationItemProductDiscount = value;
                    NotifyChanged("ARTaxDeclarationItemProductDiscount");
                }
            }
        }
        public double ARTaxDeclarationItemProductTaxPercent
        {
            get { return _aRTaxDeclarationItemProductTaxPercent; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductTaxPercent)
                {
                    _aRTaxDeclarationItemProductTaxPercent = value;
                    NotifyChanged("ARTaxDeclarationItemProductTaxPercent");
                }
            }
        }
        public double ARTaxDeclarationItemProductQtyOld
        {
            get { return _aRTaxDeclarationItemProductQtyOld; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductQtyOld)
                {
                    _aRTaxDeclarationItemProductQtyOld = value;
                    NotifyChanged("ARTaxDeclarationItemProductQtyOld");
                }
            }
        }
        public double ARTaxDeclarationItemProductQty
        {
            get { return _aRTaxDeclarationItemProductQty; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductQty)
                {
                    _aRTaxDeclarationItemProductQty = value;
                    NotifyChanged("ARTaxDeclarationItemProductQty");
                }
            }
        }
        public double ARTaxDeclarationItemProductBasicQty
        {
            get { return _aRTaxDeclarationItemProductBasicQty; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductBasicQty)
                {
                    _aRTaxDeclarationItemProductBasicQty = value;
                    NotifyChanged("ARTaxDeclarationItemProductBasicQty");
                }
            }
        }
        public double ARTaxDeclarationItemProductPakagingQty
        {
            get { return _aRTaxDeclarationItemProductPakagingQty; }
            set
            {
                if (value != this._aRTaxDeclarationItemProductPakagingQty)
                {
                    _aRTaxDeclarationItemProductPakagingQty = value;
                    NotifyChanged("ARTaxDeclarationItemProductPakagingQty");
                }
            }
        }
        public double ARTaxDeclarationItemQty1
        {
            get { return _aRTaxDeclarationItemQty1; }
            set
            {
                if (value != this._aRTaxDeclarationItemQty1)
                {
                    _aRTaxDeclarationItemQty1 = value;
                    NotifyChanged("ARTaxDeclarationItemQty1");
                }
            }
        }
        public double ARTaxDeclarationItemQty2
        {
            get { return _aRTaxDeclarationItemQty2; }
            set
            {
                if (value != this._aRTaxDeclarationItemQty2)
                {
                    _aRTaxDeclarationItemQty2 = value;
                    NotifyChanged("ARTaxDeclarationItemQty2");
                }
            }
        }
        public double ARTaxDeclarationItemQty3
        {
            get { return _aRTaxDeclarationItemQty3; }
            set
            {
                if (value != this._aRTaxDeclarationItemQty3)
                {
                    _aRTaxDeclarationItemQty3 = value;
                    NotifyChanged("ARTaxDeclarationItemQty3");
                }
            }
        }
        public double ARTaxDeclarationItemQty4
        {
            get { return _aRTaxDeclarationItemQty4; }
            set
            {
                if (value != this._aRTaxDeclarationItemQty4)
                {
                    _aRTaxDeclarationItemQty4 = value;
                    NotifyChanged("ARTaxDeclarationItemQty4");
                }
            }
        }
        public double ARTaxDeclarationItemQty5
        {
            get { return _aRTaxDeclarationItemQty5; }
            set
            {
                if (value != this._aRTaxDeclarationItemQty5)
                {
                    _aRTaxDeclarationItemQty5 = value;
                    NotifyChanged("ARTaxDeclarationItemQty5");
                }
            }
        }
        public double ARTaxDeclarationItemQty6
        {
            get { return _aRTaxDeclarationItemQty6; }
            set
            {
                if (value != this._aRTaxDeclarationItemQty6)
                {
                    _aRTaxDeclarationItemQty6 = value;
                    NotifyChanged("ARTaxDeclarationItemQty6");
                }
            }
        }
        public double ARTaxDeclarationItemPrice
        {
            get { return _aRTaxDeclarationItemPrice; }
            set
            {
                if (value != this._aRTaxDeclarationItemPrice)
                {
                    _aRTaxDeclarationItemPrice = value;
                    NotifyChanged("ARTaxDeclarationItemPrice");
                }
            }
        }
        public double ARTaxDeclarationItemInternalPrice
        {
            get { return _aRTaxDeclarationItemInternalPrice; }
            set
            {
                if (value != this._aRTaxDeclarationItemInternalPrice)
                {
                    _aRTaxDeclarationItemInternalPrice = value;
                    NotifyChanged("ARTaxDeclarationItemInternalPrice");
                }
            }
        }
        public String ARTaxDeclarationItemComment
        {
            get { return _aRTaxDeclarationItemComment; }
            set
            {
                if (value != this._aRTaxDeclarationItemComment)
                {
                    _aRTaxDeclarationItemComment = value;
                    NotifyChanged("ARTaxDeclarationItemComment");
                }
            }
        }
        public double ARTaxDeclarationItemUnitVolumn
        {
            get { return _aRTaxDeclarationItemUnitVolumn; }
            set
            {
                if (value != this._aRTaxDeclarationItemUnitVolumn)
                {
                    _aRTaxDeclarationItemUnitVolumn = value;
                    NotifyChanged("ARTaxDeclarationItemUnitVolumn");
                }
            }
        }
        public double ARTaxDeclarationItemUnitWeight
        {
            get { return _aRTaxDeclarationItemUnitWeight; }
            set
            {
                if (value != this._aRTaxDeclarationItemUnitWeight)
                {
                    _aRTaxDeclarationItemUnitWeight = value;
                    NotifyChanged("ARTaxDeclarationItemUnitWeight");
                }
            }
        }
        public double ARTaxDeclarationItemTaxAmount
        {
            get { return _aRTaxDeclarationItemTaxAmount; }
            set
            {
                if (value != this._aRTaxDeclarationItemTaxAmount)
                {
                    _aRTaxDeclarationItemTaxAmount = value;
                    NotifyChanged("ARTaxDeclarationItemTaxAmount");
                }
            }
        }
        public double ARTaxDeclarationItemDiscountAmount
        {
            get { return _aRTaxDeclarationItemDiscountAmount; }
            set
            {
                if (value != this._aRTaxDeclarationItemDiscountAmount)
                {
                    _aRTaxDeclarationItemDiscountAmount = value;
                    NotifyChanged("ARTaxDeclarationItemDiscountAmount");
                }
            }
        }
        public double ARTaxDeclarationItemNetAmount
        {
            get { return _aRTaxDeclarationItemNetAmount; }
            set
            {
                if (value != this._aRTaxDeclarationItemNetAmount)
                {
                    _aRTaxDeclarationItemNetAmount = value;
                    NotifyChanged("ARTaxDeclarationItemNetAmount");
                }
            }
        }
        public double ARTaxDeclarationItemTotalAmount
        {
            get { return _aRTaxDeclarationItemTotalAmount; }
            set
            {
                if (value != this._aRTaxDeclarationItemTotalAmount)
                {
                    _aRTaxDeclarationItemTotalAmount = value;
                    NotifyChanged("ARTaxDeclarationItemTotalAmount");
                }
            }
        }
        public double ARTaxDeclarationItemTotalCost
        {
            get { return _aRTaxDeclarationItemTotalCost; }
            set
            {
                if (value != this._aRTaxDeclarationItemTotalCost)
                {
                    _aRTaxDeclarationItemTotalCost = value;
                    NotifyChanged("ARTaxDeclarationItemTotalCost");
                }
            }
        }

        //Extra properties_HieuNH_16/05/2010
        public String BRBranchName
        {
            get { return _bBBRanchName; }
            set
            {
                if (value != this._bBBRanchName)
                {
                    _bBBRanchName = value;
                }
            }
        }

        public String ARTaxDeclarationItemSupplierName
        {
            get
            {
                return _aRTaxDeclarationItemSupplierName;
            }
            set
            {
                _aRTaxDeclarationItemSupplierName = value;
            }
        }
        #endregion
    }
}
